package com.sisgh.jefdv1.core.java.format;

import com.sisgh.jefdv1.core.java.keyword.imports.impl.Annotation;
import com.sisgh.jefdv1.core.java.keyword.imports.impl.Extend;
import com.sisgh.jefdv1.core.java.keyword.pack.Package;

import java.util.List;

public class JFPBuilder {
    private Package packagePath;
    private List<Annotation> annotations;
    private Extend extend;

    public static JFPBuilder builder() {
        return new JFPBuilder();
    }

    public JFPBuilder packagePath(Package packagePath) {
        this.packagePath = packagePath;
        return this;
    }

    public JFPBuilder annotations(Annotation... annotations) {
        this.annotations = List.of(annotations);
        return this;
    }

    public JFPBuilder extend(Extend extend) {
        this.extend = extend;
        return this;
    }

    public JavaFormatProcessor build() {
        return new JavaFormatProcessor(this.packagePath, this.annotations, this.extend);
    }
}
